using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("ParticleEffects")]
	public class ParticleEffects : MonoBehaviour
	{
		public bool m_WorldSpace => method_2<bool>("m_WorldSpace");

		public ParticleEffectsOrientation m_ParticleOrientation => method_3<ParticleEffectsOrientation>("m_ParticleOrientation");

		public List<ParticleEffectsAttractor> m_ParticleAttractors => method_3<Class271<ParticleEffectsAttractor>>("m_ParticleAttractors")?.method_25();

		public List<ParticleEffectsRepulser> m_ParticleRepulsers => method_3<Class271<ParticleEffectsRepulser>>("m_ParticleRepulsers")?.method_25();

		public ParticleEffects(IntPtr address, string className)
			: base(address, className)
		{
		}

		public ParticleEffects(IntPtr address)
			: this(address, "ParticleEffects")
		{
		}

		public static float VectorAngle(Vector3 forwardVector, Vector3 targetVector, Vector3 upVector)
		{
			return MonoClass.smethod_14<float>(TritonHs.MainAssemblyPath, "", "ParticleEffects", "VectorAngle", new object[3] { forwardVector, targetVector, upVector });
		}

		public void Update()
		{
			method_8("Update");
		}

		public void OnDrawGizmos()
		{
			method_8("OnDrawGizmos");
		}
	}
}
